﻿//using System;
//using System.Collections;
//using System.Data;
//using System.IO;
//using System.Text;
////using org.in2bits.MyXls;
//
//namespace Tab2Sql
//{
//    public class LoadExcelFile
//    {
//        public Err ErrorLog;
//        public ArrayList Sheets;
//        public StringBuilder theResults;
//        public DataTable theTable;
//
//        public LoadExcelFile(string path)
//        {
//            var myMammoth = new StringBuilder(5000);
//            var xls = new XlsDocument(@"C:\Junk\myXLS\PuffinWorksExtract.xls"); //read in the Excel file
//            Sheets = new ArrayList();
//            int i = 0;
//            foreach (Worksheet sheet in xls.Workbook.Worksheets)
//            {
//                if (sheet.Name == "Sheet1")
//                {
//                    Sheets.Add(sheet.Name);
//                    foreach (Row r in sheet.Rows)
//                    {
//                        myMammoth.Append(r.RowIndex);
//                        myMammoth.Append("\t");
//                        for (ushort j = 1; j <= r.CellCount; j++)
//                        {
//                            if (r.CellExists(j))
//                            {
//                                Cell myCell = r.CellAtCol(j);
//                                myMammoth.Append(myCell.Value + "\t");
//                            }
//                            else
//                            {
//                                myMammoth.Append("\t");
//                            }
//                        }
//                        myMammoth.AppendLine();
//                    }
//                    i++;
//                }
//            }
//            theResults = myMammoth;
//            xls = null;
//            //string worksheet1Name = xls.Workbook.Worksheets0.Name; //Worksheet 1 name : "Budget" 
//            //string worksheet2Name = xls.Workbook.Worksheets1.Name; //Worksheet 2 name : "Income" 
//            //string worksheet3Name = xls.Workbook.Worksheets2.Name; //Worksheet 3 name : "Expenses"
//            //Worksheet sheet = xls.Workbook.Worksheets0; //get a reference to a Worksheet
//
//            //string cellH6HyperlinkText = (string) sheet.Rows6.CellAtCol(8).Value;
//            //    //Cell H6 hyperlink text : "See reverse for instructions and guidelines" 
//            //string cellJ7Value = (string) sheet.Rows7.CellAtCol(10).Value; //Cell J7 value : "Budget Plan" 
//            //string cellG28Value = (string) sheet.Rows28.CellAtCol(7).Value;
//            //    //Cell G28 value : "Administrative Support (12% of Revenue)" 
//            //long cellC10Value = (long) sheet.Rows10.CellAtCol(3).Value; //Cell C10 value : 6801 
//            //string cellF10FormulaResultValue = (string) sheet.Rows10.CellAtCol(6).Value;
//            //    //Cell F10 Formula result value : "- 20" 
//        }
//
//
//        public LoadExcelFile(string path, bool what)
//        {
//            ErrorLog = new Err("LoadExcelFile");
//            if (File.Exists(path))
//            {
//                var xls = new XlsDocument(path); //read in the Excel file
//                Sheets = new ArrayList();
//
//                int i = 0;
//                foreach (Worksheet sheet in xls.Workbook.Worksheets)
//                {
//                    Sheets.Add(sheet.Name);
//                    if (i == 0)
//                    {
//                        theTable = getDataTable(sheet);
//                    }
//                    i++;
//                }
//                xls = null;
//            }
//            else
//            {
//                ErrorLog.Add("FILE NOT FOUND");
//            }
//        }
//
//        private DataTable getDataTable(Worksheet sheet)
//        {
//            int colCount = 0;
//            int rowCount = 0;
//            var dt = new DataTable();
//            dt.TableName = sheet.Name;
//
//            foreach (Row r in sheet.Rows)
//            {
//                colCount = Math.Max(colCount, r.MaxCellCol);
//            }
//            // Column Names
//            for (ushort i = 1; i <= colCount; i++)
//            {
//                string colName = "C" + i;
//                if (sheet.Rows[1].CellExists(i))
//                {
//                    colName = sheet.Rows[1].CellAtCol(i).Value.ToString();
//                }
//                dt.Columns.Add("[" + colName + "]");
//            }
//            string cellValue = String.Empty;
//            rowCount = sheet.Rows.Count;
//            foreach (Row r in sheet.Rows)
//            {
//                if (r.RowIndex == 1)
//                {
//                    /*do nothing.*/
//                }
//                else
//                {
//                    DataRow dr = dt.NewRow();
//                    dt.Rows.Add(dr);
//                    for (ushort j = 1; j <= r.CellCount; j++)
//                    {
//                        if (r.CellExists(j))
//                        {
//                            Cell myCell = r.CellAtCol(j);
//                            cellValue = myCell.Value.ToString();
//                        }
//                        else
//                        {
//                            cellValue = "";
//                        }
//                        try
//                        {
//                            dr[j - 1] = cellValue;
//                        }
//                        catch (Exception ex)
//                        {
//                            ErrorLog.Add(ex.Message);
//                        }
//                    }
//                }
//            }
//
//            dt.AcceptChanges();
//            return dt;
//        }
//    }
//}